<script>
	//
	//                       _oo0oo_
	//                      o8888888o
	//                      88" . "88
	//                      (| -_- |)
	//                      0\  =  /0
	//                    ___/`---'\___
	//                  .' \\|     |// '.
	//                 / \\|||  :  |||// \
	//                / _||||| -:- |||||- \
	//               |   | \\\  - /// |   |
	//               | \_|  ''\---/''  |_/ |
	//               \  .-\__  '-'  ___/-. /
	//             ___'. .'  /--.--\  `. .'___
	//          ."" '<  `.___\_<|>_/___.' >' "".
	//         | | :  `- \`.;`\ _ /`;.`/ - ` : | |
	//         \  \ `_.   \_ __\ /__ _/   .-` /  /
	//     =====`-.____`.___ \_____/___.-`___.-'=====
	//                       `=---='
	//
	//
	//     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	//
	//           佛祖保佑       永不报错     永无BUG
	//



	import { mapMutations } from 'vuex'


	import Vue from "vue"
	export default {
		onLaunch: function() {

			this.checkDevice(); //检查储存手机设备信息
			this.initCheckLogin() // 检查登录

			// if (this.$store.state.token) {
			// 	this.getUserInfo()
			// } else {
			// 	this.appletLogin() //小程序登录
			// }
			this.getOption() //获取配置

			// #ifdef H5
			this.initPlusReady() //初始化plus环境
			// #endif

		},
		methods: {
			...mapMutations(['setSystemInfo']),
			initCheckLogin() {
				this.getUserInfo().then((user) => {
					console.log("用户信息", user);
				}).catch((err) => {
					this.loadingHide();
					if (err.code === -1) {
						this.$store.commit('loginout')
					}
				})
			},
			// 获取配置信息
			getOption() {
				this.api.get("test").then(res => {
					let data = res.data;
					const option = {}

					this.$store.commit('setOption', option)
				}).catch(err => {
					console.log("获取失败", err);
					this.apiErr(err)
				})
			},
			checkDevice() {
				uni.getSystemInfo({
					success: (res) => {
						const device = {
							system: res.system, //操作系统版本
							platform: res.platform, //操作系统
							screenHeight: res.screenHeight, //屏幕高度
							screenWidth: res.screenWidth, //屏幕宽度
							windowHeight: res.windowHeight, //屏幕高度
							windowWidth: res.windowWidth, //屏幕宽度
							statusBarHeight: res.statusBarHeight, //状态栏高度
						}
						// #ifdef H5
						if (process.env.NODE_ENV === 'development') {
							//开发模式
							device.statusBarHeight = 24;
						}
						// #endif
						this.setSystemInfo(device); //储存手机信息
					},
				});
			},
			initPlusReady() {

				var plusReady = (callback) => {
					if (window.plus) {
						callback();
					} else {
						document.addEventListener('plusready', callback);
					}
				};

				plusReady(() => {
					this.$store.commit('setIsApp', true) //设置当前环境为APP
					const systemInfo = this.$store.state.systemInfo
					systemInfo.statusBarHeight = plus.navigator.getStatusbarHeight()
					this.setSystemInfo(systemInfo); //储存手机信息


					var firstBack = 0;
					var handleBack = function() {
						var currentWebview = plus.webview.currentWebview(); //当前窗口
						console.log('currentWebview', currentWebview);
						var now =
							Date.now ||
							function() {
								return new Date().getTime();
							};
						currentWebview.canBack(function(evt) {
							/**
							 * 有可后退的历史记录，则后退。
							 * 否则，关闭当前窗口。
							 */
							// 有回退的页面
							if (evt.canBack) {
								history.back();
							} else {
								// 没有回退页面
								// firstBack 为0时 第一次返回
								if (!firstBack) {
									// 第一次返回时间
									firstBack = now();
									// 信息提示
									plus.nativeUI.toast(this.i18n_t('再按一次退出应用'));
									setTimeout(function() {
										firstBack = 0;
									}, 2000);
									//第二次点击返回 直接退出应用
								} else if (now() - firstBack < 2000) {
									plus.runtime.quit();
								}
							}
						});
					};
					plus.key.addEventListener('backbutton', handleBack);
				})
			},


		}
	}
</script>

<style lang="scss">
	/* 引入uview1.0 css库 */
	@import "@/uni_modules/uview-ui/index.scss";
	/* 引入公共css */
	@import './static/css/style.css';
	/* 覆盖默认样式 */
	@import './static/css/change-default.css';
</style>